package com.cloudcc.cloudframe.ui.viewgroup.refresh;

import com.cloudcc.cloudframe.ui.viewgroup.refresh.indicator.PtrIndicator;

/**
 * 下拉刷新 UI接口
 */
public interface PtrUIHandler {

	/**
	 * Content 重新回到顶部， Header 消失，整个下拉刷新过程完全结束以后，重置 View
	 * 
	 * @param frame
	 */
	public void onUIReset(PtrFrameLayout frame);

	/**
	 * 准备刷新，Header 将要出现时调用。
	 * 
	 * @param frame
	 */
	public void onUIRefreshPrepare(PtrFrameLayout frame);

	/**
	 * 开始刷新，Header 进入刷新状态之前调用。
	 */
	public void onUIRefreshBegin(PtrFrameLayout frame);

	/**
	 * 刷新结束，Header 开始向上移动之前调用。
	 */
	public void onUIRefreshComplete(PtrFrameLayout frame);

	/**
	 * 下拉过程中位置变化回调。
	 * 
	 * @param frame
	 * @param isUnderTouch
	 * @param status
	 * @param ptrIndicator
	 */
	public void onUIPositionChange(PtrFrameLayout frame, boolean isUnderTouch,
                                   byte status, PtrIndicator ptrIndicator);
}
